﻿namespace ConsoleApp5
{
    //已扩展 expression bodied 成员
    /*
     * 使用expression bodied成员来简化方法、属性、索引器和析构函数的定义。
     * 通过使用箭头（=>）和一个表达式来替代大括号和语句块，您可以更紧凑地定义这些成员。
     */

    class Person
    {
        public string name { get; set; }
        public string sex { get; set; }

        // 表达式体属性
        public string FullName => $"{name} {sex}";

        // 表达式体方法
        public void PrintFullName() => Console.WriteLine(FullName);

        // 表达式体索引器
        public string this[int index] => index == 0 ? name : sex;

        // 表达式体构造函数
        public Person(string n, string s) => (name, sex) = (n, s);

    }

    class Program
    {
        static void Main()
        {
            Person person = new Person("shang", "男");
            person.PrintFullName();
            Console.WriteLine(person[0]); // 输出: shang
            Console.WriteLine(person[1]); // 输出: 男
        }
    }
}